package cn.itcast.goods.service;


import cn.itcast.goods.dto.CategoryDTO;
import cn.itcast.goods.dto.CategoryPageQueryDTO;
import cn.itcast.goods.pojo.Category;
import cn.itcast.result.PageBean;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface CategoryService {

    /**
     * 新增分类
     * @param categoryDTO
     */
    void save(CategoryDTO categoryDTO);

    /**
     * 分类分页查询
     * @param categoryPageQueryDTO
     * @return
     */
    PageBean pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

    /**
     *删除分类
     * @param id
     */
    void deleteById(Long id);

    /**
     * 修改分类信息
     * @param categoryDTO
     */
    void update(CategoryDTO categoryDTO);

    /**
     * 启用禁用分类
     * @param status
     * @param id
     */
    void startOrStop(Integer status, Long id);

    /**
     * 根据类型查询分类
     * @param type
     * @return
     */
    List<Category> list(Integer type);

    /**
     * 根据id查询分类
     * @param id
     * @return
     */
    Category getById(Long id);

    /**
     * 将菜品信息导出为Excel报表
     * @param response
     */
    void exportCategory(HttpServletResponse response);
}
